﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using Infra.Entity;


namespace Infra.Common.DAO
{
   public class TelefoneDAL
    {

        public static void Salvar(PERTELEFONE Telefone)
        {
            using (DBInfraEntityDataContext dc = new DBInfraEntityDataContext())
            {
                if (Telefone.CODTELEFONE != 0)
                {
                    //Alterar o utilizador
                    var TELF = dc.PERTELEFONEs.Single(TL => TL.CODTELEFONE == Telefone.CODTELEFONE);
                    TELF.CODPESSOA = Telefone.CODPESSOA;
                    TELF.CODTIPOTELEFONE = Telefone.CODTIPOTELEFONE;
                    TELF.STRTELEFONE = Telefone.STRTELEFONE;
                    TELF.STRTELOBSERVACAO = Telefone.STRTELOBSERVACAO;
                    dc.SubmitChanges();
                }
                else
                {
                    //Gravar utilizador
                    dc.PERTELEFONEs.InsertOnSubmit(Telefone);
                    dc.SubmitChanges();
                }
            }
        }


        public static void Excluir(int idTelefone)
        {
            using (DBInfraEntityDataContext dc = new DBInfraEntityDataContext())
            {
                var TELF = dc.PERTELEFONEs.Single(TL => TL.CODTELEFONE == idTelefone);
                dc.PERTELEFONEs.DeleteOnSubmit(TELF);
                dc.SubmitChanges();
            }
        }




        public static List<PERTELEFONE> Pesquisar(int Codigo, string Telefone)
        {
            List<PERTELEFONE> ListaTelefone = null;

            using (DBInfraEntityDataContext dc = new DBInfraEntityDataContext())
            {
                var TELF = from TPT in dc.PERTELEFONEs
                           where ((Codigo.Equals(0) || Codigo.Equals(TPT.CODTELEFONE)) &&
                           (Telefone.Equals(string.Empty) || Telefone.Equals(TPT.STRTELEFONE.Contains(Telefone))))
                           select TPT;
                ListaTelefone = TELF.ToList();
            }

            return ListaTelefone;
        }



    }
}
